package com.zmc.lostfound.post.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zmc.lostfound.common.utils.PageParams;
import com.zmc.lostfound.common.utils.PageResult;
import com.zmc.lostfound.common.utils.Result;
import com.zmc.lostfound.post.entity.PostImageEntity;
import com.zmc.lostfound.post.vo.PostImageSaveVO;

import java.util.List;

/**
 * @author ZMC，GXC
 * @description 帖子图片信息管理业务接口
 * @email 2869581855@qq.com
 */
public interface PostImageService extends IService<PostImageEntity> {

    /**
     * 分页查询帖子图片信息
     *
     * @param pageParams 分页参数
     * @return PageResult
     */
    PageResult queryPage(PageParams pageParams);

    /**
     * 按帖子id查询全部图片信息
     *
     * @param postId 帖子id
     * @return List<PostImageEntity>
     */
    List<PostImageEntity> queryInfoByPostId(Long postId);

    /**
     * 按id查询帖子图片信息
     *
     * @param id 帖子图片id
     * @return PostImageEntity
     */
    PostImageEntity queryInfoById(Long id);

    /**
     * 新增帖子图片信息
     *
     * @param postImageSaveVO 帖子图片信息新增/修改请求体
     * @return Result
     */
    Result insertPostImage(PostImageSaveVO postImageSaveVO);

    /**
     * 批量新增帖子图片信息
     *
     * @param postId     帖子id
     * @param imgUrlList 帖子图片信息
     */
    void insertBatchWithPostId(Long postId, List<String> imgUrlList);

    /**
     * 修改帖子图片信息
     *
     * @param postImageSaveVO 帖子图片信息新增/修改请求体
     * @return Result
     */
    Result updatePostImage(PostImageSaveVO postImageSaveVO);

    /**
     * 批量修改帖子的图片信息
     *
     * @param postId     帖子id
     * @param imgUrlList 图片信息
     */
    void updateBatchByPostId(Long postId, List<String> imgUrlList);

    /**
     * 批量删除
     *
     * @param postImageIds 帖子图片ids
     * @return Result
     */
    Result deleteBatchByIds(List<Long> postImageIds);

    /**
     * 按帖子id批量删除图片信息
     *
     * @param postId 帖子di
     * @return Result
     */
    Result deleteBatchByPostId(Long postId);

}

